package com.kaifamiao.reflect;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class InvokeStaticMethod {

    public static void main(String[] args) throws Exception {

        final Class<?> c = Sheep.class;

        final Method m = c.getDeclaredMethod( "welcome", String.class );

        final int mod = m.getModifiers();

        if( !Modifier.isStatic( mod ) ) {
            return;
        }

        if( !Modifier.isPublic( mod ) ) {
            m.setAccessible( true );
        }

        // 调用 c 类中的 m 方法(类方法) 并为其传入参数 最后获得其返回值
        Object result = m.invoke( c , "小灰灰" );
        System.out.println( result );

    }

}
